Revise authorship policy for AI-assisted contributions - #4871
Conversation
Initial draft at modifying authorship policy for the AI-assistance era. Inclusion in AUTHORS.md will only be for non-AI-assisted contributions, but changelog entries will still include contributions with AI-assistance. Author sort order on Zenodo will be based on non-AI-assisted commits.
| The `AUTHORS.md` file lists PyGMT Developers. Anyone who has contributed a pull request | ||
| to the project is welcome to add themselves to the file. This file lives in the | ||
| repository and is packaged with distributions. This is an optional process. | ||
| (without AI assistance) to the project is welcome to add themselves to the file. This |
There was a problem hiding this comment.
Based on #4839 (comment). But happy to revise this to set a threshold or something.
There was a problem hiding this comment.
This is a bit of a vague suggestion (sorry), but I do think setting the requirement for inclusion can be made a little less defined and state that the maintainers will add additional authors to AUTHORS.md in a PR. I think that having a hard limit of AI-assisted vs. non-AI-assisted can either incentivize lying about how AI was used, or can punish contributors for using AI in any way. While I don't think a contribution entirely from AI should merit inclusion as an author, I don't want to punish a contributor who meaningfully contributes but may use AI to either proofread or clean up their work. I realize that is hard to define, but I also think that is where maintainers' judgement can come into play when a contributor has been actively participating and a maintainer can submit a PR adding them to AUTHORS.md (and tag the contributor to make sure they want to be added).
Not that I expect pygmt to become insanely popular (we can dream!) but AUTHORS.md currently has 18 authors listed. I don't wish to set the bar high or come across as unwelcoming to new contributors, but I do think the list could be in the 30-40 range if the requirement is a single non-AI contributions, which seems longer than it should be.
| reviews) to the repository since the previous release will be mentioned in the changelog. | ||
| If their full name is available on GitHub, we will use it. Otherwise, we will use the | ||
| GitHub handle. This is a way of saying "Thank you". | ||
| reviews) to the repository (with or without AI-assistance), since the previous release |
There was a problem hiding this comment.
I think changelog entries should still contain contributions that have been AI-assisted. Hopefully not controversial?
There was a problem hiding this comment.
Agreed; I think AI-assisted changes are still valid changes.
| (`git shortlog -sne --group=author --group=trailer:co-authored-by`). | ||
| The order of authors will be defined by the number of non-AI-assisted contributions | ||
| (including commits and PR reviews) to the repository | ||
| (`git shortlog -sne --group=author --group=trailer:co-authored-by --invert-grep --grep=Assisted-by`). |
There was a problem hiding this comment.
Should we exclude commits that are AI-Assisted-by from the sorting? Just an idea, we can remove if not. I guess there are also PRs that are only partially AI-assisted, so this could be unfair to put.
There was a problem hiding this comment.
Similarly to my other comment about maintainers' discretion, I think there should also be discretion in the sorting of the author list. I think lines of code is a good starting point and gives a rough idea of contributions, but I do think that it can incentivize longer contributions (e.g. tutorials, long documentation) that is useful, but isn't more useful than PRs with fewer lines of code.
|
How should we define an "AI assistant"? A wide spectrum of AI use cases exists:
We also usually can't know if a PR is done with AI assistant or not. Perhaps we should establish the AI policy first (#4759)? |
Description of proposed changes
Modifying authorship policy for the AI-assistance era.
Initial changes (to be debated):
Fixes #4839
Preview:
Guidelines
Slash Commands
You can write slash commands (
/command) in the first line of a comment to performspecific operations. Supported slash command is:
/format: automatically format and lint the code